#ifndef FALLING_PATH_H_
#define FALLING_PATH_H_

// INCLUDES //
#include "path.h"
//////////////

/**
* A path that slowly falls.
* 
* @author dfoelber
**/
class FallingPath : public Path
{
public:
	/**
	* Constructor.
	* 
	* @param initialYVel Velocity of the falling speed
	**/
	FallingPath( double initialYVel = 3.5 );
	
	/**
	* Lets the path know that time has passed and to move accordingly.
	* 
	* Overridden from Path.
	* 
	* @param ms The time passed since last called
	**/
	virtual void TimePassed( int ms );
	
	/**
	* Input that can be used by the path.
	* 
	* Overridden from Path.
	* 
	* @param event The event
	* @return If the event was consumed
	**/
	virtual bool Input( SDL_Event event );
	
	/**
	* The path has collided with another object.
	* 
	* Overridden from Path.
	* 
	* @param side The side of the path that collided
	* @param other The other area that this path collided with
	**/
	virtual void Collision( int side, Area* other );
	
	/**
	* Sets the position of the path.
	* 
	* Overridden from Path.
	* 
	* @param x The new X coordinate
	* @param y The new Y coordinate
	**/
	virtual void SetPosition( int x, int y );
	
	/**
	* Gets if the path is still moving.
	* 
	* Overridden from Path.
	* 
	* @return If the path is moving
	**/
	virtual bool IsMoving();
	
private:
};

#endif /*FALLING_PATH_H_*/
